Przejdź do zawartości

JavaServer Pages

Z Wikipedii, wolnej encyklopedii
Schemat "życia" pliku JSP

JSP (ang. JavaServlet Pages) – technologia umożliwiająca tworzenie dynamicznych dokumentów WWW w formatach HTML, XHTML, DHTML oraz XML z wykorzystaniem języka Java, wplecionego w kod HTML danej strony. W tym aspekcie, jest to rozwiązanie podobne do PHP.

Strona JSP w procesie translacji jest zamieniana na serwlet (z reguły mała aplikacja napisana w Javie uruchamiana po stronie serwera w kontenerze serwletów). Każde wywołanie strony JSP z poziomu klienta (przeglądarki) wykonywane jest przez skompilowany serwlet. Jeśli użyta zostanie prekompilacja (kompilacja wstępna) to już podczas uruchamiania aplikacji wszystkie strony JSP zostaną przetłumaczone na serwlety.

Elementy strony JSP

[edytuj | edytuj kod]

Strony JSP składają się z następujących elementów:

  • treść statyczna - przepisywana bez modyfikacji do generowanego dokumentu
  • dyrektywy JSP - informacje kontrolujące proces generowania dokumentu
  • elementy skryptowe - skryplety (kod w języku Java kontrolujący proces generowania dokumentu) oraz elementy składniowe tzw. Expression Language
  • akcje JSP - tagi XML wywołujące określone metody serwerowe

Przykładowa strona JSP

[edytuj | edytuj kod]
 <%@ page language="java" contentType="text/html; charset=ISO-8859-2" 
          pageEncoding="ISO-8859-2"%>
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" 
           "http://www.w3.org/TR/html4/loose.dtd">
 <%! int k=5; %>
 <html>
   <head>
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2"/>
     <title>Przykładowa strona JSP</title>
   </head>
   <body>
      Aktualny czas: <%=java.util.Calendar.getInstance().getTime()%>
 <%
      for (int i=0; i<k; ++i) {
 %>
        Liczba: <%=i%> <br />
 <%
      } 
 %>
   </body>
 </html>
  • Wiersze 1-2 - dyrektywa ustawiająca typ zawartości, kodowanie itp.
  • Wiersz 5 - skryplet deklarujący zmienną języka Java
  • Wiersz 12 - skryplet zwracający wartość zmiennej języka Java
  • Wiersze 13-15, 16 i 17-19 - skryplety sterujące generowaniem dokumentu

Pozostałe linie zawierają czysty kod HTML.

Kolejny przykład

[edytuj | edytuj kod]

Powyższa pętla (linia 13-19). zapisana prościej przy wykorzystaniu biblioteki core ze zbioru JSTL i języka wyrażeń EL (ang. Expression Language).

  ...
  <c:forEach var="i" begin="0" end="4" step="1">
     Liczba: ${i} <br />
  </c:forEach> 
  ...

Zobacz też

[edytuj | edytuj kod]

Linki zewnętrzne

[edytuj | edytuj kod]